/* 
函数参数的结构赋值
*/
// 1.数组的函数的解构
let num=0;
function sum([a,b,c,d,e]){
  return num+=a+b+c+d+e
}
let arr=[1,2,3,4,5];
console.log(sum(arr));//15

// sum();//相当于[a,b,c,d,e]=null,就会报错
sum([]);//相当于[a,b,c,d,e]=[]，不会报错

// 2.对象的函数解构
function add({name,age}){//这里就相当于对象解构{name,age}=obj
  console.log(name,age);
}
let obj={
  name:"jason",
  age:18
};

//add();//报错,相当于传了{name,age}=null
add({});//输出undefined undefined;不会报错，相当于{}=obj;

